Gradle dependency locking
build.gradle などで、1.+ や [1.0,2.0) のような書き方をしている場合、ビルド時に使われるライブラリのバージョンが固定されないため、コードに変更を加えていなくても、ビルド時に不具合が発生することがあります。
このような不具合が発生しないように、ライブラリのバージョンを固定する必要があります。
このような仕組みを dependency locking と言います。これにより、コードを変更せずにビルドした場合に、常に同じ結果になるようにします。
特に以下のような場合に dependency locking は効果を発揮します ((amongst others: とりわけ))
* 複数のリポジトリを管理していて、その間に依存関係がある場合に、どんどん影響を及ぼしていくことがあるため ((cascading: 五月雨式 みたいな意味で、一つの変更が次々リポジトリに伝播していくみたいなことを言いたいんだと思われる))、-SNAPSHOTオプションに頼るか ((rely on: 頼る)) 、頑張って依存を直していくか、という選択になる。
* 常に最新のバージョンを使いたいため、dynamic dependency の記法を使いたいが、リリースの時だけは依存関係を固定したい場合。
dependency locking を有効にする方法は後述する
dependency locking を有効にしたら、まずは初期の lock state を作成する必要がある
dependency lockig を有効にする方法
依存解決の部分だけロックする場合
全ての設定をロックする場合
ロックファイルの作成や更新